package com.plian.system.entity.fr.audit;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.plian.system.mybatis.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("fr_audit_contact")
@EqualsAndHashCode(callSuper = true)
public class AuditContact extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主表序号
     */
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    private Long auditReportId;
    /**
     * 项目
     */
    private String projectId;
    /**
     * 姓名
     */
    private String name;
    /**
     * 职务
     */
    private String jobNameId;
    /**
     * 联系电话
     */

    private String contactNumber;
    /**
     * 详细通讯地址
     */
    private String detailedMailingAddress;
    /**
     * 邮政编码
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String postalCode;
    /**
     * 乐观锁字段
     */
    private Integer tsVersion;
    /**
     * 备注
     */
    private String remark;
    /**
     * 备选1
     */
    private String def1;
    /**
     * 备选2
     */
    private String def2;
    /**
     * 备选3
     */
    private String def3;
    /**
     * 备选4
     */
    private String def4;
    /**
     * 备选5
     */
    private String def5;
    /**
     * 备选6
     */
    private String def6;
    /**
     * 备选7
     */
    private String def7;
    /**
     * 备选8
     */
    private String def8;
    /**
     * 备选9
     */
    private BigDecimal def9;
    /**
     * 备选10
     */
    private BigDecimal def10;
    /**
     * 备选11
     */
    private BigDecimal def11;
    /**
     * 备选12
     */
    private BigDecimal def12;
    /**
     * 备选13
     */
    private BigDecimal def13;
    /**
     * 备选14
     */
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date def14;
    /**
     * 备选15
     */
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date def15;
    /**
     * 备选16
     */
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date def16;
    /**
     * 备选17
     */
    @DateTimeFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date def17;
    /**
     * 备选18
     */
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    private Long def18;
    /**
     * 备选19
     */
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    private Long def19;
    /**
     * 备选20
     */
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    private Long def20;


    /**
     * 项目名称
     */
    @TableField(exist = false)
    private String projectName;

    /**
     * 职务名称
     */
    @TableField(exist = false)
    private String jobName;

    /**
     * 出资企业名称
     */
    @TableField(exist = false)
    private String companyNameId;
    @TableField(exist = false)
    private String companyName;
}
